//
//  NSString+Util.h
//  iOS-Categories (https://github.com/shaojiankui/iOS-Categories)
//
//  Created by Jakey on 15/5/22.
//  Copyright (c) 2015年 www.skyfox.org. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
@interface NSString (Util)
/**
 *  @brief 计算文字的高度
 *
 *  @param font  字体(默认为系统字体)
 *  @param width 约束宽度
 */
- (CGFloat)heightWithFont:(UIFont *)font constrainedToWidth:(CGFloat)width;
/**
 *  @brief 计算文字的宽度
 *
 *  @param font   字体(默认为系统字体)
 *  @param height 约束高度
 */
- (CGFloat)widthWithFont:(UIFont *)font constrainedToHeight:(CGFloat)height;
/**
 *  @brief 计算文字的大小
 *
 *  @param font  字体(默认为系统字体)
 *  @param width 约束宽度
 */
- (CGSize)sizeWithFont:(UIFont *)font constrainedToWidth:(CGFloat)width;
/**
 *  @brief 计算文字的大小
 *
 *  @param font   字体(默认为系统字体)
 *  @param height 约束高度
 */
- (CGSize)sizeWithFont:(UIFont *)font constrainedToHeight:(CGFloat)height;
/**
 *  @brief 倒序字符串
 *
 *  @param strSrc 输入
 *
 *  @return 倒序以后的字符串
 */
+ (NSString *)reverseString:(NSString *)strSrc;

/**
 *  通过一个字符串拼接一个新的文件名
 *
 *  @param fileName 文件名
 *  @param newName  要拼接的名字
 *
 *  @return 新的文件名
 */
+ (NSString *)jointWithFileName:(NSString *)fileName newExtension:(NSString *)newName;


/**
 *  获取属性文字
 *
 *  @param textArr   需要显示的文字数组,如果有换行请在文字中添加 "\ n"换行符
 *  @param fontArr   字体数组, 如果fontArr与textArr个数不相同则获取字体数组中最后一个字体
 *  @param colorArr  颜色数组, 如果colorArr与textArr个数不相同则获取颜色数组中最后一个颜色
 *  @param spacing   换行的行间距
 *  @param alignment 换行的文字对齐方式
 */
+ (NSAttributedString *)getAttriStrByTextArray:(NSArray<NSString *> *)textArr fontArr:(NSArray<UIFont *> *)fontArr colorArr:(NSArray<UIColor *> *)colorArr lineSpacing:(CGFloat)spacing alignment:(NSTextAlignment)alignment;


+ (NSMutableAttributedString *)alertTitleForCopyLink;

+ (NSMutableAttributedString *)alertTitleForCopyLink_Highlight;

@end
